10. 错误与异常

您所在的位置:网站首页 php 错误和异常处理 10. 错误与异常

10. 错误与异常

2024-05-16 14:52| 来源: 网络整理| 查看: 265

错误

在很多「重异常(exception-heavy)」编程语言中,无论出现什么问题,都会抛出异常。这确实是一种可行的方法,但是 PHP 是「轻异常」的编程语言。虽然确实存在异常,并且很多核心在使用对象的时候已经开始使用这些异常了,但 PHP 更多的时候会尝试保持运行,除非发生了致命错误。

举个例子:

$ php -a php > echo $foo; Notice: Undefined variable: foo in php shell code on line 1

这只是一个提醒级别的错误,PHP 会继续运行。这会让那些来自「重异常」语言的开发者很困惑,因为例如在 Python 中,引用一个不存在的变量将抛出异常:

$ python >>> print foo Traceback (most recent call last): File "", line 1, in NameError: name 'foo' is not defined

唯一的区别是 Python 会在任何一件小事上终止程序,所以开发人员可以十分确认任何问题或边界值问题都会被捕获,而相同的情况 PHP 会继续进行。除非是发生极端问题,PHP 才会抛出错误并报告问题。

错误级别

PHP 有多个错误级别。三个最常见的错误级别是:错误、提醒、警告。这些错误的级别不同,E_ERROR、E_NOTICE 和 E_WARNING。「错误」 是运行时的致命错误,通常是代码错误导致的。由于会导致程序停止,所以需要及时修正。「提醒」 是因为代码而出现的建议消息,在执行期间不一定会导致问题,程序运行也不会停止。「警告」 是非致命错误,不会导致程序停止。

另一种错误信息是在编译时报告的 E_STRICT。这些消息用于确保与即将发布的新版本 PHP 的兼容性,对代码的更改建议。

更改 PHP 的错误报告行为

错误报告可以通过 PHP 配置或 PHP 函数来更改。你可以在脚本执行期间,使用内置的 PHP 函数 error_reporting(),传入一个表示错误级别的预定义常量,来设置错误报告级别。例如你只想要看到错误和警告,不想看到提醒,你可以这样设置:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3